package br.ufpi.esii.reqg.entities;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;

import br.ufpi.esii.reqg.enums.TipoDeRequisito;

@Entity
public class Requisito extends Item {

	@Column( nullable = false )
	private TipoDeRequisito tipo;

	@ManyToOne( optional = false, fetch = FetchType.EAGER )
	private Projeto projeto;

	@ManyToMany( mappedBy = "requisitos" )
	private Set<CasoDeUso> casosDeUso;

	public TipoDeRequisito getTipo() {
		return tipo;
	}

	public void setTipo( TipoDeRequisito tipo ) {
		this.tipo = tipo;
	}

	public Set<CasoDeUso> getCasosDeUso() {
		return casosDeUso;
	}

	public void setCasosDeUso( Set<CasoDeUso> casosDeUso ) {
		this.casosDeUso = casosDeUso;
	}

	public Projeto getProjeto() {
		return projeto;
	}

	public void setProjeto( Projeto projeto ) {
		this.projeto = projeto;
	}

}
